package com.chuangjiangx.member.basic.ddd.application.command;

import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;

import java.util.Date;

/**
 * 修改会员
 */
@Getter
@Setter
@ToString
@NoArgsConstructor
public class ModifyMemberCommand {
    /**
     * 会员id
     */
    private Long memberId;

    /**
     * 会员姓名
     */
    private String name;

    /**
     * 手机号
     */
    private String mobile;

    /**
     * 会员性别
     */
    private Byte sex;

    /**
     * 会员生日
     */
    private Date birthday;

    /**
     * 微信头像
     */
    @Setter
    private String headimgurl;

    /**
     * 商户id
     */
    private Long merchantId;

    /**
     * 门面id
     */
    private Long storeId;

    /**
     * 修改的服务员id
     */
    private Long storeUserId;

    /**
     * 修改的终端类型
     */
    private Byte terminalType;

    /**
     * 修改终端标识
     */
    private String terminalNum;

    /**
     * 商户注册用户id
     */
    private Long merchantUserId;

    public ModifyMemberCommand(Long memberId, String name, Byte sex,
                               Date birthday, Long merchantId, Long storeId,
                               Long storeUserId, Byte terminalType,
                               String terminalNum, String mobile, Long merchantUserId) {
        this.memberId = memberId;
        this.name = name;
        this.sex = sex;
        this.birthday = birthday;
        this.merchantId = merchantId;
        this.storeId = storeId;
        this.storeUserId = storeUserId;
        this.terminalType = terminalType;
        this.terminalNum = terminalNum;
        this.mobile = mobile;
        this.merchantUserId = merchantUserId;
    }

    public ModifyMemberCommand(Long memberId, String name, Byte sex, Date birthday,
                               Long merchantId, Byte terminalType,Long merchantUserId) {
        this.memberId = memberId;
        this.name = name;
        this.sex = sex;
        this.birthday = birthday;
        this.merchantId = merchantId;
        this.terminalType = terminalType;
        this.merchantUserId = merchantUserId;
    }
}
